home *** CD-ROM | disk | FTP | other *** search
/ Risc World 3 / Risc World 3.iso / SOFTWARE / ISSUE3 / PD / NEWALARM / !NewAlarm / Generator (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  2000-09-10  |  3KB  |  142 lines

  1.  >NewAlarm file generator
  2.  d%(5)
  3. $;" at line ";
  4.  interval$(6)
  5. interval$(1)="minutes"
  6. interval$(2)="hours"
  7. interval$(3)="days"
  8. interval$(4)="weeks"
  9. interval$(5)="months"
  10. interval$(6)="years"
  11. days$="MTWTFSS"
  12. "New alarms file(1)"'"Read back alarms(2)"'"Add alarms(3)"
  13.   a$=
  14.  "1":
  15.  "2":
  16.  "3":
  17. count%=0
  18. "<NewAlarm$Dir>.Alarms"
  19. closefile:
  20. $;" at line ";
  21. #i%,0:
  22.  insert dummy number of alarms
  23. getalarms
  24. getalarms
  25. '"Entering Alarms:"'
  26. "Hours (out of 24)",hrs%
  27. "Minutes (multiple of 5)",mins%
  28. "Day N
  29.  (of month)",dy%
  30. "Month N
  31. "Year",yr%
  32. "Text of alarm",txt$:
  33.  in case of commas
  34. "Line 2",txt2$
  35. "Line 3",txt3$
  36. time(mins%,hrs%,dy%,m%,yr%)
  37. #i%,txt$+
  38. (9)+txt2$+
  39. (9)+txt3$
  40. "Repeat",yn$
  41. UPPER(yn$)="Y" 
  42. repeat 
  43.  n%=1 
  44. #i%,0:
  45.   count%+=1
  46. "#####"'"Define another alarm (Y/N)":yn$=
  47. 6)  yn$=
  48. UPPER(yn$):
  49.  Force to capitals
  50.  yn$<>"Y"
  51. '"Finished entering alarms"'
  52. closefile
  53. time(d%(1),d%(2),d%(3),d%(4),year%)
  54.  n%,a$
  55.  n%=1 
  56.   a$=
  57. (65+d%(n%))+a$
  58. (65+year%-1990)+a$
  59. decodetime(code$)
  60.  n%=1 
  61.   d%(n%)=
  62. code$,n%,1))-65
  63. (d%(4))+":"+
  64. (d%(5))+" "+
  65. (d%(3))+"/"+
  66. (d%(2))+"/"+
  67. (d%(1)+1990)
  68. closefile
  69. #i%=0
  70. #i%,count%
  71.  n%,a$,m%,type%
  72. "<NewAlarm$Dir>.Alarms"
  73. #i%,count%
  74.  n%=1 
  75.  count%
  76. #i%,a$
  77. #i%,txt$
  78.  "DATE ";
  79. decodetime(a$)
  80.  "MESSAGE:";txt$
  81.   type%=
  82. #i%:m%=
  83.  type% 
  84. [4   
  85.  "Repeats every ";
  86. (m%);" ";interval$(type%)
  87. ]%  m%=
  88. readdays(m%):m%=
  89. "<NewAlarm$Dir>.Alarms"
  90.  i%=0 
  91. "Alarm file not found!  Starting new alarm file.":
  92. #i%,count%
  93. getalarms
  94. repeat
  95.  a$,int$,X%,Y%,type%
  96. "Interval -(M)inutes/(H)ours/(D)ays/(W)eeks/mo(N)ths/(Y)ears"
  97.   a$=
  98. UPPER(a$) 
  99.  "M" :type%=1
  100.  "H" :type%=2
  101.  "D" :type%=3
  102.  "W" :type%=4
  103.  "N":type%=5
  104.  "Y" :type%=6
  105. :a$="error":
  106.  a$<>"error"
  107. z!Y%=
  108. 17);interval$(type%);
  109. 0,Y%)"Repeat every";X%
  110. #i%,type%
  111. #i%,X%
  112.  "On which days?  Enter first letter of day"'"or dash if alarm is not to go off"'"(default 'MTWTF--')",a$
  113. (a$)<>7 
  114.  "Using default (working week only)":a$="MTWTF--"
  115. writedays(a$)
  116. #i%,0:
  117.  fill in rest of word
  118. writedays(code$)
  119.  m%,n%
  120.  n%=0 
  121. a$,n%+1,1)="-" 
  122.  m%+=(1<<n%)
  123. readdays(byte%)
  124.  n%,a$
  125.  byte%=0 
  126.  ="*******"
  127.  n%=0 
  128.  byte% 
  129.  (1<<n%) 
  130.  a$+="-" 
  131.  a$+=
  132. days$,n%+1,1)
  133. UPPER(string$)
  134.  X%,n%
  135.  n%=1 
  136. (string$)
  137. string$,n%))
  138.  (X%>&60 
  139.  X%<&B7) 
  140. string$,n%)=
  141. =string$
  142.